package com.skyd.core.android.game;

/**
 * 游戏显示基础接口
 * @author SkyD
 *
 */
public interface IGameDisplayBase {
	/**
	 * 获取IsFirstShow。 功能注释：指示是否为首次显示，在第一次surfaceCreated事件之后变为false
	 * 
	 * @return 当前的Boolean类型的值
	 */
	public Boolean getIsFirstShow();
	
	/**
	 * 获取Runnable。 功能注释：指示当前是否执行线程刷新操作
	 * 
	 * @return 当前的boolean类型的值
	 */
	public boolean getRunnable();
	
	/**
	 * 设置Runnable。 功能注释：指示当前是否执行线程刷新操作
	 * 
	 * @param value
	 *            要设置的boolean类型值
	 */
	public void setRunnable(boolean value);
	
	/**
	 * 获取FPS。 功能注释：每秒显示帧数
	 * 
	 * @return 当前的int类型的值
	 */
	public int getFPS();
	
	/**
	 * 设置FPS。(应当在复写surfaceCreated方法中执行此操作，在构造函数中执行此方法无效) 功能注释：每秒显示帧数
	 * 
	 * @param value
	 *            要设置的int类型值
	 */
	public void setFPS(int value);
	
	/**
	 * 获取IsInitialized。 功能注释：指示是否初始化完毕
	 * 
	 * @return 当前的Boolean类型的值
	 */
	public Boolean getIsInitialized();
	
	/**
	 * 设置IsInitialized。 功能注释：指示是否初始化完毕
	 * 
	 * @param value
	 *            要设置的Boolean类型值
	 */
	public void setIsInitialized(Boolean value);
	
	/**
	 * 初始化方法，在此方法中完成游戏初始化操作，如设置帧频、加载游戏对象
	 * 
	 * @param isFirstShow
	 *            指示是否为第一次显示屏幕，如果为false则表示此次初始化是从其他程序切回时发生的
	 */
	public void init(Boolean isFirstShow);
}
